From 01f5d9d5abfecbb995d3627a505064c0767784e1 Mon Sep 17 00:00:00 2001 From: robertl Date: Fri, 15 Nov 2002 06:08:52 +0000 Subject: [PATCH] Add 'GPS_Diag' function to sensibly log data to/from serial port. --- jeeps/gpssend.c | 15 +++++++++++++-- jeeps/gpsutil.c | 12 ++++++++++++ 2 files changed, 25 insertions(+), 2 deletions(-) diff --git a/jeeps/gpssend.c b/jeeps/gpssend.c index 372a5dfe9..c33149d7e 100644 --- a/jeeps/gpssend.c +++ b/jeeps/gpssend.c @@ -92,7 +92,14 @@ void GPS_Make_Packet(GPS_PPacket *packet, UC type, UC *data, int16 n) } - +void +Diag(void *buf, size_t sz) +{ + unsigned char *cbuf = (unsigned char *) buf; + while (sz--) { + GPS_Diag("%02x ", *cbuf++); + } +} /* @func GPS_Write_Packet *********************************************** ** @@ -107,7 +114,9 @@ void GPS_Make_Packet(GPS_PPacket *packet, UC type, UC *data, int16 n) int32 GPS_Write_Packet(int32 fd, GPS_PPacket packet) { size_t ret; - + + GPS_Diag("\nTx Data:"); + Diag(&packet->dle, 3); if((ret=GPS_Serial_Write(fd,(const void *)&packet->dle,(size_t)3)) == -1) { perror("write"); @@ -120,6 +129,7 @@ int32 GPS_Write_Packet(int32 fd, GPS_PPacket packet) return 0; } + Diag(packet->data, packet->bytes); if((ret=GPS_Serial_Write(fd,(const void *)packet->data,(size_t)packet->bytes)) == -1) { perror("write"); @@ -133,6 +143,7 @@ int32 GPS_Write_Packet(int32 fd, GPS_PPacket packet) } + Diag(&packet->chk, 3); if((ret=GPS_Serial_Write(fd,(const void *)&packet->chk,(size_t)3)) == -1) { perror("write"); diff --git a/jeeps/gpsutil.c b/jeeps/gpsutil.c index 662fdb42c..8015faf1f 100644 --- a/jeeps/gpsutil.c +++ b/jeeps/gpsutil.c @@ -23,6 +23,7 @@ ********************************************************************/ #include "gps.h" #include +#include static int32 gps_endian_called=0; static int32 GPS_Little=0; @@ -647,7 +648,18 @@ void GPS_Diagnose(int32 c) return; } +void GPS_Diag(const char *fmt, ...) +{ + va_list argp; + va_start(argp, fmt); + if(gps_show_bytes) { + vfprintf(stdout, fmt, argp); + } + va_end(argp); + return; + +} /* @func GPS_Enable_Diagnose *********************************************** ** -- 2.30.2